Method for creating a hierarchical threshold signature digital asset wallet

ABSTRACT

A method for creating a hierarchical threshold signature digital asset wallet using a hierarchical distributed key generator (DKG) and a signature protocol includes steps of generating a public key by users and the digital asset wallet service platform, securing and controlling a portion of shares, sending a transaction signing request, validating the transaction signing request, creating a signature of the signed transaction, and uploading the signed transaction to the corresponding digital asset blockchain network and monitoring the execution of the signed transaction.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application No. U.S. 63/025,147 titled “Hierarchical Threshold Signature Scheme and Digital Asset Wallet Application” filed by the applicant on 14/05/2020. which is incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

Embodiments of the present disclosure relate to the field of secure communications and more particularly to a hierarchical threshold signature scheme and digital asset wallet application.

BACKGROUND OF THE INVENTION

Public key cryptography technology is a kind of technology that the information such as the file that sends to designated recipients, messages are encrypted for extensive use. Adopt the system of this cryptographic technique to generate PKI and the private key that is associated on a pair of mathematics for each user, PKI publishes by certain mode, makes any sender all can obtain recipient's PKI, and private key is preserved by the recipient is secret.

During common key cryptosystem is used, an important demand for security is exactly that the PKI of guaranteeing to use belongs to designated recipient definitely, namely needs a kind of security mechanism that user ID (ID) and its PKI are bound together.

In the conventional public-key cryptographic system, for example adopt the system of RSA, DSA, ECC scheduling algorithm, it doesn't matter for the generation of PKI and user's sign, need to provide certificate by Third Party Authentication center CA (Certificate Authority), namely user's PKI and sign are signed, to both bind, this system centered by CA based on the conventional public-key cryptographic system is called public-key infrastructure, i.e. PKI (Public Key Infrastructure). By means of PKI, a lot of applications on the Internet are achieved, such as ecommerce, e-bank etc.

Nowadays, blockchain uses public key cryptography (PKI) gives organization complete and permanent control over a blockchain address and all the digital assets associated with it. Safeguarding and managing the private keys organizations use to sign and register a blockchain transaction has become the most critical digital asset management.

More than four billion dollar worth of digital assets had been compromised or stolen by hackers in 2019 alone. For mass adoption of blockchain to occur, the private key weakness must be addressed.

Methods were proposed to eliminate the single point of failure of private keys with threshold distributed key generation and signature protocols that enables transactions to be signed securely in a distributed way. But in most of the proposed methods, all the participants who are involved in the signing process are assumed to be of the same authority which does not meet the expectation of modern organization structures where multiple levels of authority are a must for organization to adopt and take full advantage of that blockchain offer.

Thus, the present disclosure is aimed to provide a method for creating a digital asset wallet with a hierarchical access structure using a distributed key generator (DKG) and a signature protocol that overcomes the above-discussed drawbacks.

SUMMARY OF THE INVENTION

Embodiments of the present disclosure relates to a method for creating a hierarchical threshold signature digital asset wallet using a hierarchical distributed key generator (DKG) and a signature protocol. The method includes steps of generating a public key (secret key) by users and the digital asset wallet service platform using a hierarchical threshold key generation protocol, securing and controlling a portion of shares by the user and the digital asset wallet service platform in one or more of m disjoint subsets for generating of a signature of a signed transaction, sending a transaction signing request through a wallet service API on the user device to the digital asset wallet service platform by the user for transferring digital assets outside of the hierarchical threshold signature digital asset wallet, validating the transaction signing request based on a predefined access policy, facilitating the user device and the digital asset wallet service platform on a successful validation to jointly run the hierarchical threshold signature protocol to create a signature of the signed transaction, sending the signature of the signed transaction to a corresponding digital asset blockchain network and uploading the signed transaction to the corresponding digital asset blockchain network and monitoring the execution of the signed transaction.

In particular, only authorized subsets of users fulfilling the hierarchical threshold distributed key generator (DKG) are allowed to sign digital asset transactions.

In accordance with an embodiment of the present disclosure, the hierarchical threshold key generation protocol is configured to provide a signing power to a n multiple shares and the set of n multiple shares is partitioned into m disjoint subsets of shares. Particularly, the users in the same subset have equal authority level and the users from different subset have predefined differences in this regard.

In the hierarchical threshold access structure, the authorized subsets are defined by an increasing sequence of threshold parameters t₀<t₁< . . . <t_(m).

In accordance with an embodiment of the present disclosure, the hierarchical threshold signature protocol enables authorized users of a subset to sign digital asset transactions after satisfying threshold requirements. For example, the group of senders represented by a subset A of authorized shares can generate a valid signature if all of the threshold requirements is satisfied:

|A∩(∪_(j=0) ^(i) U _(i))|≥t _(i) for i=0, . . . ,m

In accordance with an embodiment of the present disclosure, the method allows a plurality of users to jointly generate the public key (secret key) using the threshold distributed key generation protocol. The method comprising steps of broadcasting the public key for a homomorphic encryption by the user, constructing a two random polynomial values, computing the shares corresponding to each of the user and sending the shares through a secure channel, checking the shares for consistency, adding a received private shares by each user, broadcasting a broadcast value for added private shares, checking and verifying the broadcast value, associating a RSA modulus with public key and setting the public key. In particular, each user proves in a Zero-knowledge that the user knows the value of added shares using a Schonorr's protocol and RSA modulus using a proof of knowledge of integer factorization.

In accordance with an embodiment of the present disclosure, the method of generating and verifying a digital signature of a message between a plurality of senders and a recipient, comprising steps of creating one or more hierarchical threshold wallet jointly by a plurality of users, distributing a threshold share (threshold keys) to the users within the hierarchical threshold access structure, validating correctness of all secret shares or keys, generating digital signature of message jointly by the participating users with authorized secret shares, calculating Birkhoff interpolation coefficients λ_(i,S) for each user in the authorized subset A such that the user may locally map its own local share x_(i) into (t, t) share of signing secrets, providing a broadcasting channel for public message exchange and providing a secure channel for each participant for secret message exchange.

Another embodiment of the present disclosure relates to a computer implemented environment for creating a hierarchical threshold signature digital asset wallet using a distributed key generator (DKG) and a signature data protocol. In particular, the computer implemented environment includes a digital asset wallet service platform to allow a user to create at least one hierarchical threshold signature digital asset wallet, a user device for creating and installing hierarchical threshold signature digital asset wallet, a communication network to allow communication between the user device, the digital asset wallet service platform and a blockchain network 108 and the blockchain network to communicate with the user and the digital asset wallet service platform to send, receive and verify a digital asset transaction.

In accordance with an embodiment of the present disclosure, the blockchain network is a corresponding digital asset blockchain network.

Particularly, the user device is configured to jointly run, send and receive the distributed key generator and a signature data to and from the digital asset wallet service platform.

In accordance with an embodiment of the present disclosure, the digital asset wallet service platform further includes an account management module, a key generation module, a policy enforcement module, a transaction signature generation module, a blockchain service module and a wallet service application programming interfaces (API) integrated therein.

In accordance with an embodiment of the present disclosure, the account management module is configured to register and identify a user based on a user information in a database and a plurality of security features.

In accordance with an embodiment of the present disclosure, the key generation module is configured to create at least one hierarchical threshold signature digital asset wallet.

In accordance with an embodiment of the present disclosure, the policy enforcement module is configured to check the transaction signing request by determining whether the transaction signing request adheres to the predefined access policy.

In accordance with an embodiment of the present disclosure, the transaction signature generation module is configured to generate a signature for the corresponding digital asset transaction using a hierarchical threshold signature protocol and sign the transaction. In particular, the signature is only created on successful validation of the traction request.

In accordance with an embodiment of the present disclosure, the blockchain service module is configured to upload the signed transaction to the corresponding blockchain and monitors the execution of the signed transaction.

It is to be understood that both the foregoing general description and the following detailed description of the present disclosure are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above-recited features of the present disclosure is understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.

FIG. 1 is a block diagram illustrating a system in computer implemented environment within which various aspects of the present disclosure can be implemented, in accordance with one or more embodiments of the present disclosure;

FIG. 2 is a block diagram illustrating an exemplary component architecture for the digital asset wallet service platform in accordance with an embodiment of the present disclosure;

FIG. 3. is a flow diagram illustrating a method for signing a digital asset transaction in a hierarchical threshold signature digital asset wallet using a hierarchical distributed key generator (DKG) and a signature protocol in accordance with an embodiment of the present disclosure;

FIG. 4. is a flow diagram illustrating a method allowing multiple users to jointly generate the public key (the secret key) using the hierarchical threshold key generation protocol in accordance with an embodiment of the present disclosure;

FIG. 5. is a flow diagram illustrating a method allowing authorized subsets of users to create a joint threshold digital signature using the signature protocol in accordance with an embodiment of the present disclosure.

ELEMENT LIST

-   Computer Implemented Environment 100 -   Digital Asset Wallet Service Platform 101 -   User Device 102 -   Mobile App 103 -   Browser 104 -   Desktop Application 105 -   Browser Application 106 -   Communication Network 107 -   Blockchain Network 108 -   Wallet Service Application Programming Interfaces (API) 201 -   Account Management Module 202 -   Key Generation Module 203 -   Policy Enforcement Module -   Transaction Signature Generation Module 205 -   Blockchain Service Module 206

DETAILED DESCRIPTION

The present disclosure relates to a method for creating a digital asset wallet with a hierarchical access structure using a distributed key generator (DKG) and a signature protocol.

The principles of the present disclosure and their advantages are best understood by referring to FIG. 1 to FIG. 5. In the following detailed description of illustrative or exemplary embodiments of the disclosure, specific embodiments in which the disclosure may be practiced are described in sufficient detail to enable those skilled in the art to practice the disclosed embodiments.

The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims and equivalents thereof. References within the specification to “one embodiment,” “an embodiment,” “embodiments,” or “one or more embodiments” are intended to indicate that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure.

FIG. 1 is a block diagram illustrating a system in computing environment 100 within which various aspects of the present disclosure can be implemented, in accordance with one or more embodiments of the present disclosure. The computing environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of user or functionality. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment.

The system is configured to sign digital transactions by creating a hierarchical threshold signature digital asset wallet using a distributed key generator (DKG) and a signature data protocol. Particularly, the system includes user device 102 and digital asset wallet service platform 101, communication network 107 and blockchain networks 108 for digital assets.

The digital asset wallet service platform 101 to allow a user to create a digital asset wallet with the hierarchical access structure.

In accordance with an embodiment of the present disclosure, digital asset wallet service platform 101 is an enterprise digital asset wallet service platform allowing enterprise users to create a hierarchical threshold signature digital asset wallet.

For example, in enterprise management there are 10 managers divided into 3 different levels of authority. Among them, 3 managers are in the highest level, 3 managers in the second level and 4 managers in the last level. An ordinary threshold signature scheme that gives all managers the same authority in signing transactions or documents of the enterprise. However, with hierarchical access structure valid signatures are generated with the condition that if at least 2 managers from the first level, at least 4 managers from either the first level or the second one and at least 7 managers from all the enterprise's managers have cooperated jointly in generating the signature.

Particularly, user device 102 allows the user to create the hierarchical threshold signature digital asset wallet and install therein on the user device 102. Moreover, the user device 102 operates as a service client to jointly run, send and receive hierarchical distributed key generation and signature data to and from the digital asset wallet service platform 101. The client application may be implemented in different computer languages, executables or channels which may include mobile app 103, web applications using internet browsers 104, native computer applications 105 or browser extensions 106.

The communication network 107 to allow communication between the user device 102, the digital asset wallet service platform 101 and a blockchain network 108.

In particular, the blockchain network 108 is a corresponding digital asset blockchain network. And, the blockchain network 108 subsequently sends, receives and verifies digital asset transactions by communicating with the user on the user device 102 and the digital asset wallet service platform 101.

FIG. 2. is a block diagram illustrating an exemplary component architecture 200 of the digital asset wallet service platform in accordance with one or more embodiments of the present disclosure. In particular, the digital asset wallet service platform 101 includes an account management module 202, a key generation module 203, a policy enforcement module 204, a transaction signature generation module 205, a blockchain service module 206 and a wallet service application programming interface (API) 201.

In accordance with an embodiment of the present disclosure, the wallet service API provides 201 is a set application programming interfaces for the client applications which may include mobile application 103, web applications using internet browsers 104, native computer applications 105 or browser extensions 106 to interact with different modules in the digital asset wallet service platform 101.

In accordance with an embodiment of the present disclosure, the account management module 202 is configured to utilize user registration information stored in a database and one or more system generated security factors to register a user for creating a new digital wallet. Moreover, the account management module 202 may automatically penalize users or user device 102 or any computing devices attempting to defraud the digital asset wallet service platform 101.

In an exemplary example, the application interface key pairs may determine whether the user is a legitimate user.

In accordance with an embodiment of the present disclosure, the key generation module 203 is configured to facilitate a hierarchical threshold signature digital asset wallet when a new wallet is created by the user. In particular, the hierarchical threshold signature digital asset wallet is created using a hierarchical threshold key generation protocol. The hierarchical threshold key generation protocol 400 distributes signing power to n multiple shares such that the set of shares is partitioned into m disjoint subsets of shares {U₁, U₂, . . . , U_(m)}. Moreover, all the shares in the same subset are considered equal in terms of their authority level and the shares from different subsets have predefined differences. Further, in this hierarchical threshold access structure, the authorized subsets are defined by a strictly increasing sequence of threshold parameters t₀<t₁< . . . <t_(m).

In accordance with an embodiment of the present disclosure, the policy enforcement module 204 is configured to validate a transaction signing request by determining whether the transaction signing request adheres to the predefined access policy. In particular, the policy may include checks pertaining to but not limited to, a transaction value, a destination, a transaction time etc. to determine the transaction's legitimacy.

In accordance with an embodiment of the present disclosure, transaction signature generation module 205 facilitates generation of a hierarchical digital transaction signature utilizing the hierarchical threshold signature protocol 500 to generate signature for the corresponding digital asset transaction. In particular, the transaction signature generation module 205 generates the transaction signature when the policy enforcement module 204 is convinced of the transaction's legitimacy.

For example, A is a subset of authorized users can sign the transaction only when all of the threshold requirements are satisfied:

|A∩(∪_(j=0) ^(i) U _(i))≥t _(i) for i=0, . . . ,m.

In particular, when a transaction signing request is made, the requesting user or user device will be authenticated by the account management module 202 and the signing request is validated by a policy enforcement module 204 to ensure that the request adheres to the predefined policy.

In accordance with an embodiment of the present disclosure, the blockchain service module 206 uploads the signed transaction to the corresponding blockchain and monitors its execution on successful signing of the transaction.

FIG. 3. is a flow diagram illustrating a computer implemented method for signing a digital asset transaction in a hierarchical threshold signature digital asset wallet using a hierarchical distributed key generator (DKG) and a signature protocol. In particular, the signature protocol allows authorized subset of users fulfilling the distributed key generator (DKG) hierarchical access structure to sign digital asset transactions.

The method 300 starts at step 301 and proceeds to step 302. At step 301 the users using the user device 102 and the digital asset wallet service platform 101 run the hierarchical threshold key generation protocol 400 to generate a public key (secret key). In particular, the hierarchical threshold key generation protocol 400 is configured to provide a signing power to a n multiple shares and the set of n multiple shares is partitioned into m disjoint subsets of shares (U1, U2, . . . , Um). And, all the shares in the same subset are considered equal in terms of their authority level, the ones from different subsets have predefined differences. Moreover, the authorized subset of is defined by an increasing sequence of threshold parameters t₀<t₁< . . . <t_(m). Furthermore, the user (U={P1,P2, . . . ,Pn}) in the same subset has an equal authority level.

At step 302, the user secures and controls a portion of the shares (user secure shares) in one or more of m disjoint subsets such that a signature of a signed transaction is generated using at least one of the user secure shares.

Step 302 proceeds to 303. At step 303, the digital asset wallet service platform 101 secures and controls a portion of the shares (platform secure shares) in one or more of m disjoint subsets such that the signature of a signed transaction is generated using at least one of the platform secure shares.

Step 303 proceeds to 304. At step 304, the user sends a transaction signing request through a wallet service API 201 to the digital asset wallet service platform 101 for transferring digital assets outside of the hierarchical threshold signature digital asset wallet.

Step 304 proceeds to 305. At step 305, the policy enforcement module 204 of the digital asset wallet service platform 101 validates the transaction signing request by determining whether the transaction signing request adheres to a predefined access policy.

In one embodiment of the present disclosure, when the determination is “NO” and the validation of the transaction signing request is unsuccessful then the method 300 ends.

In another embodiment of the present disclosure, when the determination is “YES” and the validation of the transaction signing request is successful then the method 300 proceeds to step 306.

At step 306, the transaction signature generation module 205 facilitates the user device 102 and the digital asset wallet service platform 101 to jointly run the hierarchical threshold signature protocol 500 to create a signature of the signed transaction.

Step 306 proceeds to step 307. At step 307, the hierarchical threshold signature protocol 500 creates a signature of the signed transaction.

Step 307 proceeds to step 308. At step 308, the signature of the signed transaction is sent to a corresponding digital asset blockchain network. In particular, the blockchain service module 206 uploads the signed transaction to the corresponding digital asset blockchain network and monitors the execution of the signed transaction.

FIG. 4. is a flow diagram illustrating a method to allow multiple users to jointly generate the public key (and/or the secret key) using the hierarchical threshold key generation protocol 400 in accordance with an embodiment of the present disclosure. The method starts at step 401 and proceeds to step 402.

At step 401, each user (P_(i)∈U) broadcasts the public key (E_(i)) for a homomorphic encryption (Paillier's cryptosystem).

At step 402, each user (P_(i)∈U) selects random values {a_(ij)}_(j-0) ^(t-1) and {b_(ij)}_(j-0) ^(t-1) and constructs polynomials f_i and f_i′; wherein

f _(i)(x)=a ₀ +a _(i1) x+ . . . +a _(i(t-1)) x ^(t-1)(mod q)

f _(i)′(x)=b ₀ +b _(i1) x+ . . . +b _(i(t-1)) x ^(t-1)(mod q).

Also, each user (P_(i)∈U) broadcasts (C_ij), and

{C _(ij) =g ^(a) ^(ij) h ^(b) ^(ij) (mod p)}_(j-0) ^(t-1).

At step 403, the shares (sh_(i-j) and sh′_(i-j)) are computed corresponding to each user (P_(i)∈U) and the shares (sh_(i-j) and sh′_(i-j)) are sent through a secure channel, and wherein:

(sh_(i→j) =f _(i) ^((t) ^(k-1) ⁾(j)sh_(i→j) ′=f _(i)′^((t) ^(k-1) ⁾(j),)

and k is such that P_(j)∈U_(k)

At step 404, each user P_(j)∈U check the shares (sh_(i-j) and sh′_(i-j)) for consistency by verifying for i=1, . . . , n (i≠j), such that

     ??? = ?? (mod p) ?indicates text missing or illegible when filed

where k is such that P_(j)∈U_(k) and g_(l) ^((t) ^(k-1) ⁾ is the value of (t_(k-1))-th derivative of g_(l)(x)=x^(l) at the point x=j.

If the check fails at step 404, then the user (P_(i)∈U) aborts the protocol.

At step 405, each user (P_(i)∈U) computes (x_(i)) is computed by adding a received private share and;

$x_{i} = {\sum\limits_{j}{sh}_{j\rightarrow i}}$

At step 406, each user (P_(i)∈U) broadcasts a broadcast value (A_(il)) for added private shares; and

{A _(ij) =g ^(a) ^(ij) (mod p)}_(j-0) ^(t-1),

At step 407, each user (P_(i)∈U) checks the broadcast value by verifying

$\mspace{79mu}{\text{?} = {\prod\limits_{l = 0}^{t - 1}{\text{?}\;\left( {{mod}\; p} \right)}}}$ ?indicates text missing or illegible when filed

where k is such that P_(j)∈U_(k) and g_(l) ^((t) ^(k-1) ⁾ is the value of (t_(k-1))-th derivative of g_(l)(x)=x^(l) at the point x=j.

If the check fails at step 407, then the user (P_(i)∈U) aborts the protocol.

At step 408, associating RSA modulus (Ni=piqi) with public key (Ei). And each user (P_(i)∈U) proves in a Zero-knowledge that the user knows x_(i) using a Schonorr's protocol and piqi using a proof of knowledge of integer factorization.

At step 410, each user set

y _(i) =A _(i0) =g ^(a) ^(ij) (mod p)

And, the public key is set to y, and

$y = {\prod\limits_{i}y_{i}}$

FIG. 5. is a flow diagram illustrating a method allowing authorized subsets of users to create a joint threshold digital signature using the signature protocol in accordance with an embodiment of the present disclosure. In particular, the users fulfilling the hierarchical distributed key generator (DKG) can only create the joint signature.

The method starts at step 501 and proceeds to step 502. At step 501, a user selects a set of users S⊆[1 . . . n] to participate in the signature protocol. Assuming, |S|=t and P_(i)∈S such that P_(i)∈U_(k), using the appropriate Birkhoff interpolation coefficients λ_(i,S).

Each user in S can locally map its own (t_((k-1)), n) share x_(i) into (t, t) share of x, and

${\varpi_{i} = {\left( \lambda_{i,S} \right)\left( x_{i} \right)}},{{i.e.\mspace{14mu} x} = {\sum\limits_{i \in S}{\varpi_{i}.}}}$

Since X_(i)=g^(x) ^(i) and λ_(i,S) are public values, all users can compute

W _(i) =g ^(ω) ^(i) =X _(i) ^(λ) ^(i,S)

At step 502, each user P_(i) select random values k_(i), γ_(i) to compute[C_(i), D_(i)]=Com(g^(γi)) and broadcast C_(i); wherein

$k = {{\sum\limits_{i \in S}{k_{i} \cdot \gamma}} = {\sum\limits_{i \in S}\gamma_{i}}}$ ${k\;\gamma} = {\sum\limits_{{ij} \in S}{k_{i}\gamma_{j}\;\left( {{mod}\; q} \right)\mspace{14mu}{and}}}$ ${kx} = {\sum\limits_{{ij} \in S}{k_{i}\varpi_{j}\;\left( {{mod}\; q} \right)}}$

At step 503, every pairs of users P_(i), P_(j) runs two multiplicative-to-additive(MtA) share conversion sub-protocol. In particular, every pairs of users P_(i), P_(j) runs MtA with shares k_(i), γ_(j) respectively.

Assuming α_(ij), [resp. β_(ij)] be the shares received by user P_(i) [resp. P_(j)] at the end of the MtA protocol k_(i)γ_(i)=α_(ij)+β_(ij). Then the user P_(i) set δ_(i), wherein:

     δ_(i) = k_(i)γ_(i) + ? a_(ij) + ? β_(ij).?indicates text missing or illegible when filed

Note that δ_(i) are the (t, t) additive sharing of

     k γ = ? δ_(i), P_(i), P_(j) ?indicates text missing or illegible when filed

Run MtA with shares k_(i), ω _(j) respectively. Assuming μ_(ij), [resp. ν_(ij)] be the shares received by user P_(i) [resp. P_(j)] at the end of the MtA protocol. i.e., k_(i) ω _(i)=μ_(ij)+ν_(ij) Then the user P_(i) set σ_(i) and wherein:

$\sigma_{i} = {{k_{i}\varpi_{i}} + {\sum\limits_{j \neq i}\mu_{ij}} + {\sum\limits_{j \neq i}v_{ij}}}$

Note that σ are the (t, t) additive sharing of

${kx} = {\sum\limits_{{ij} \in S}{\sigma_{i}.}}$

At step 504, every pairs of users P_(i) broadcasts δ_(i) and the user reconstruct

     δ = ? b_(i) = k γ.?indicates text missing or illegible when filed

Also, the user calculates δ⁻¹ (mod q).

At step 505, Each user P_(i) broadcasts D_(i). Assuming Γ_(i)=g^(γi) be the values decommitted by P_(i) who proves in ZK that he knows using Schnorr's protocol.

Then, the user compute

     R = [? Γ_(i)? = ? = ? = ??indicates text missing or illegible when filed

and r=H′(R)

At step 506, every pair of users P_(i) compute

s _(i) =mk _(i) +rσ _(i).

Note that:

${\sum\limits_{i \in S}s_{i}} = {{{m{\sum\limits_{i \in S}k_{i}}} + {r{\sum\limits_{i \in S}\sigma_{i}}}} = {{{mk} + {rkx}} = {{k\left( {m + {xr}} \right)} = s}}}$

At step 507, each user P_(i) select random values l_(i), ρ_(i) and compute

V _(i) =R ^(s) ^(i) g ^(l) ^(i) ,Δ_(i) =g ^(ρ) ^(i) , and [Ĉ _(i) ,{circumflex over (D)} _(i)]=Com(V _(i),Δ_(i))

and each user broadcasts Ĉ_(i). Assuming

$l = {{\sum\limits_{i}{l_{i}\mspace{14mu}{and}\mspace{14mu}\varrho}} = {\sum\limits_{i}\varrho_{i}}}$

At step 508, each user P_(i) broadcasts {circumflex over (D)}_(i), and proves in ZK that he knows s_(i), l_(i), ρ_(i) such that V_(i)=R^(s) ^(i) g^(l) ^(i) and Δ_(i) ^(ρ) ^(i) . If a ZK proof fails, then the user aborts the protocol. Assuming,

$\mspace{79mu}{V = {{g^{- m}\text{?}{\sum\limits_{i}V_{i}}} = {{g^{l}\mspace{14mu}{and}\mspace{14mu}\Delta} = {\prod\limits_{i \in S}\Delta_{i}}}}}$ ?indicates text missing or illegible when filed

At step 509, each user P_(i) computes U_(i)=V^(ρ) ^(i) and T_(i)=Δ^(ρ) ^(i) . And commits [{tilde over (C)}_(i), {tilde over (D)}_(i)]=Com(U_(i),T_(i)) and broadcast {tilde over (C)}_(i).

At step 510, each user P_(i) broadcast {tilde over (D)}_(i) to decommit to U_(i), T_(i). The user aborts the protocol if:

${\prod\limits_{i \in S}\left\lbrack T_{i} \right\rbrack} \neq {\prod\limits_{i \in S}U_{i}}$

At step 511, each user P_(i) broadcast s_(i). The user computes

$s = {\sum\limits_{i \in S}s_{i}}$

If (r, s) is a valid signature, the user accepts and ends the protocol. Alternatively, the use may abort the protocol.

In accordance with one or more embodiments of the present disclosure, the signature protocol runs on an input m (this hash of message M being signed) and an output of the hierarchical threshold key generation protocol 400. In particular, the signature protocol is a conjunctive hierarchical threshold signature protocol. Moreover, the public key (secret key) is shared using a verifiable hierarchical threshold secret sharing protocol (VHTSS) described in protocol 400.

Birkhoff Interpolation Coefficient

Let us assume

-   -   X={x₁, . . . , x_(k)} . . . given set of points in the set of         real number (R), where x₁<x₂< . . . <x_(k).     -   E=(e_(ij))_(1≤i≤k,0≤j≤l) is a matrix with binary entries, such         that:

I(E)={(i,j):e _(ij)=1} and N=|I(E)|

-   -   C={c_(ij): (i,j)∈I(E)} is a set of N real values.     -   C′={c_(i)′: 1, . . . , N} be another vector that is obtained by         lexicographically ordering of entries of C.         Then the Birkhoff interpolation problem that corresponds to the         triplet         X, E, C         is the problem of finding a polynomial

P(X)∈R _(N-1)[x]

satisfying the N equalities

P ^((j))(x _(i))=c _(ij),(i,j)∈I(E).

Let φ={g₀, g₁, . . . , g_(N-1)}={1, x¹, x², . . . , x^(N-1)} be a system of linearly independent, N−1 times continuously differentiable real-valued functions.

By using the elements E, X, φ we are able to solve the Birkhoff interpolation problem as

${P(x)} = {\sum\limits_{i = 0}^{N - 1}{c_{i + 1}^{\prime}\left( {\sum\limits_{j = 0}^{N - 1}{\left( {- 1} \right)^{i + j}\frac{{A_{i}\left( {E,X,\phi_{i}} \right)}}{{A\left( {E,X,\phi} \right)}}{g_{j}(x)}}} \right)}}$

where A(E, X, φ)=(a_(ij))_(N×N)

a _(ij) =g _(j-1) ^((α) ^(i) ⁽²⁾⁾(x _(α) _(i) ₍₁₎)

i=1, . . . , N

j=1, . . . , N

A_(i)(E, X, φ_(i)) can be computed from A(E, X, φ_(i)) by removing (i+1)th row and (j+1)th row and A(E, X, φ_(j)) can be compute by replacing (j+1)th column of A(E, X, φ) with C′. |⋅| is the determinant operation.

The Birkhoff interpolation coefficient λ_(i) for j=0 can be defined as

$\lambda_{i} = {{c_{i + 1}^{\prime}\left( {- 1} \right)}^{i}\frac{{A_{i}\left( {E,X,\phi_{0}} \right)}}{{A\left( {E,X,\phi} \right)}}}$

It will be apparent to those skilled in the art that various modifications and variations can be made in the present disclosure without departing from the spirit or scope of the inventions. Thus, it is intended that the present disclosure covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.

Although some features and examples herein have been described in language specific to structural features or methodological steps, it is to be understood that the subject matter herein is not necessarily limited to the specific features or steps described. Any process descriptions, elements or blocks in the flow diagrams described herein or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code that include one or more executable instructions for implementing specific logical functions or elements in the process. Alternate implementations are included within the scope of the examples described herein in which elements or functions can be deleted, or executed out of order from that shown or discussed, including substantially synchronously or in reverse order, depending on the functionality involved as would be understood by those skilled in the art.

It should be emphasized that many variations and modifications can be made to the above-described examples, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims. Moreover, in the claims, any reference to a group of items provided by a preceding claim clause is a reference to at least some of the items in the group of items, unless specifically stated otherwise. This document expressly envisions alternatives with respect to each and every one of the following claims individually, in any of which claims any such reference refers to each and every one of the items in the corresponding group of items. Furthermore, in the claims, unless otherwise explicitly specified, an operation described as being “based on” a recited item can be performed based on only that item, or based at least in part on that item. This document expressly envisions alternatives with respect to each and every one of the following claims individually, in any of which claims any “based on” language refers to the recited item(s), and no other(s). Additionally, in any claim using the “comprising” transitional phrase, a recitation of a specific number of components is not limited to embodiments including exactly that number of those components, unless expressly specified. However, such a claim does describe both embodiments that include exactly the specified number of those components and embodiments that include at least the specified number of those components. 

What is claimed is:
 1. A method for creating a hierarchical threshold digital asset wallet using a hierarchical distributed key generator (DKG) and a signature protocol, the method comprising: generating a public key (secret key) by a user on a user device (102) and a digital asset wallet service platform (101) using a hierarchical threshold key generation protocol (400); securing and controlling a portion of shares by the user and the digital asset wallet service platform (101) in one or more of m disjoint subsets for generating of a signature of a signed digital asset transaction; sending a transaction signing request by the user through a wallet service API (201) to the digital asset wallet service platform (101) for transferring digital assets outside the hierarchical threshold digital asset wallet; validating the transaction signing request by determining whether the transaction signing request adheres to a predefined access policy; facilitating the user device (102) and the digital asset wallet service platform (101) on a successful validation to jointly run a hierarchical threshold signature protocol (500); creating a signature of a signed transaction using the hierarchical threshold signature protocol (500); and uploading the signed transaction to a corresponding digital asset blockchain network and monitoring execution of the signed transaction.
 2. The method as claimed in claim 1, wherein the hierarchical threshold key generation protocol (400) is configured to provide a signing power to a n multiple shares.
 3. The method as claimed in claim 2, wherein a set of the n multiple shares is partitioned into m disjoint subsets of shares (U1,U2, . . . ,Um).
 4. The method as claimed in claim 1, wherein users in a same subset have equal authority level.
 5. The method as claimed in claim 1, wherein an authorized subset is defined by an increasing sequence of threshold parameters t₀<t₁< . . . <t_(m).
 6. The method as claimed in claim 1, wherein the method allows a plurality of users to jointly generate the public key (secret key) using the hierarchical threshold key generation protocol (400) comprising steps of: broadcasting the public key (E_(i)) for a homomorphic encryption by the user (P_(i)) and wherein P_(i)=P_(i)∈U); constructing two random polynomial values (f_i and f_i′) and broadcasting (C_ij); computing the shares (sh_(i-j) and sh′_(i-j)) corresponding to each user (P_(i)∈U) and sending the shares (sh_(i-j) and sh′_(i-j)) through a secure channel; checking the shares (sh_(i-j) and sh′_(i-j)) for consistency by verifying for i=1, . . . n (i≠j); computing (x_(i)) by each user (P_(i)∈U) by adding a received private share and x_(i)=Σ_(j)sh_(j→i); broadcasting a broadcast value (A_(il)) by each user (P_(i)∈U) for added private shares; checking the broadcast value (A_(il)) by each user (P_(i)∈U) to verify (G_(shi→j)) value; associating a RSA modulus (Ni=piqi) with the public key (Ei); and setting the public key to y=Π_(i)y_(i) by each user (P_(i)∈U); wherein each user (P_(i)∈U) proves in a Zero-knowledge that user knows x_(i) using a Schonorr's protocol and p_(i)q_(i) using a proof of knowledge of integer factorization.
 7. The method as claimed in claim 1, wherein the method further allows plurality of users to create a joint threshold digital signature using the signature protocol, wherein the method comprising: selecting a set of users (S⊆[1 . . . n]) by user (P_(i)∈U) to participate in the signature protocol; computing [C_(i), D_(i)] by selecting random values (k_(i),γ_(i)) by each user (P_(i)∈U), and [C_(i), D_(i)]=Com(g^(γ) ^(i) ); broadcasting C_(i); running two multiplicative-to-additive(MtA) share conversion sub-protocol by a pair of user (P_(i), P_(j)); broadcasting δ_(i) by every pair of the user (P_(i)∈U) and broadcasting δ; broadcasting D_(i) by each user (P_(i)∈U); computing s_(i)=mk_(i)+rσ_(i) by each user (P_(i)∈U); selecting random values l_(i), ρ_(i) by each user (P_(i)∈U) and compute [Ĉ_(i), {circumflex over (D)}_(i)]; broadcasts Ĉ_(i) and {circumflex over (D)}_(i) by each user (P_(i)∈U); computing U_(i)=V^(ρ) ^(i) and T_(i)=Δ^(ρ) ^(i) by each user (P_(i)∈U) and commits [{tilde over (C)}_(i), {tilde over (D)}_(i)]=Com(U_(i), T_(i)) and broadcast {tilde over (C)}_(i); broadcasting {tilde over (D)}_(i) by each user (P_(i)∈U) to decommit to U_(i),T_(i); and broadcasting s_(i) and computing s by each user (P_(i)∈U); wherein when (r, s) is a valid signature then the user (P_(i)∈U) accepts and ends the signature protocol.
 8. The method as claimed in claim 7, wherein the signature protocol runs on an input m and an output of the hierarchical threshold key generation protocol (400).
 9. The method as claimed in claim 8, wherein the signature protocol is a conjunctive hierarchical threshold signature protocol (500).
 10. The method as claimed in claim 1, wherein the public key is shared using a verifiable hierarchical threshold secret sharing protocol (VHTSS).
 11. A system for creating a hierarchical threshold digital asset wallet using a distributed key generator (DKG) and a signature data protocol, the system comprising: a digital asset wallet service platform (101) allowing a user to create an at least one hierarchical threshold digital asset wallet; a user device (102) creating the at least one hierarchical threshold digital asset wallet and installing therein; a communication network (107) allowing communication between the user device (102), the digital asset wallet service platform (101) and a blockchain network (108); and the blockchain network (108) communicating with the user and the digital asset wallet service platform (101) to send, receive and verify a digital asset transaction and wherein the blockchain network (108) in conjugation with the digital asset wallet service platform (101) performs steps of: generating a public key (secret key) by the user on the user device (102) and the digital asset wallet service platform (101) using a hierarchical threshold key generation protocol (400); securing and controlling a portion of shares by the user and the digital asset wallet service platform (101) in one or more of m disjoint subsets for generating of a signature of a signed digital asset transaction; sending a transaction signing request by the user through a wallet service API (201) to the digital asset wallet service platform (101) for transferring digital assets outside the hierarchical threshold digital asset wallet; validating the transaction signing request by determining whether the transaction signing request adheres to a predefined access policy; facilitating the user device (102) and the digital asset wallet service platform (101) on a successful validation to jointly run a hierarchical threshold signature protocol (500); creating a signature of a signed transaction using the hierarchical threshold signature protocol (500); and uploading the signed transaction to a corresponding digital asset blockchain network and monitoring execution of the signed transaction.
 12. The system as claimed in claim 11, wherein the user device (102) is configured to jointly run, send and receive the distributed key generator and a signature data to and from the digital asset wallet service platform (101).
 13. The system as claimed in claim 11, wherein the hierarchical threshold key generation protocol (400) is configured to provide a signing power to a n multiple shares.
 14. The system as claimed in claim 11, wherein the digital asset wallet service platform (101) further comprises an account management module (202), a key generation module (203), a policy enforcement module (204), a transaction signature generation module (205), a blockchain service module (206) and a wallet service application programming interfaces (API) (201) integrated therein.
 15. The system as claimed in claim 14, wherein the account management module (202) is configured to register a user based on a user information in a database and a plurality of security parameters and authenticate the user device (102) of the user initiating a transaction singing request for a hierarchical threshold signature digital asset wallet.
 16. The system as claimed in claim 14, wherein the key generation module (203) is configured to create at least one hierarchical threshold signature digital asset wallet by the user and the digital asset wallet service platform (101).
 17. The system as claimed in claim 14, wherein the policy enforcement module (204) is configured to check a transaction signing request by determining whether the transaction signing request adheres to a predefined access policy.
 18. The system as claimed in claim 14, wherein the transaction signature generation module (205) is configured to generate a signature for a corresponding digital asset transaction using a hierarchical threshold signature protocol (500).
 19. The system as claimed in claim 14, wherein the blockchain service module (206) is configured to upload a signed transaction to a corresponding digital asset blockchain network and monitor execution of the signed transaction.
 20. The system as claimed in claim 18, wherein the hierarchical threshold signature protocol (500) runs on an input m and an output of a hierarchical threshold key generation protocol (400). 